package com.lovo.middleman.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lovo.middleman.bean.StockBean;
import com.lovo.middleman.bean.StockPageBean;

import java.util.List;

/**
 * 库存
 */
public interface IStockService {

    //2.当点击入库时,
    // 首先判断仓库是否存在该商品
    //      若存在仓库调用的是修改的方法
    //      若不存在仓库调用的是添加的方法

    /**
     * 查询全部的商品
     * @return
     */
    List<StockBean> queryStockBean();


    /**
     * 采购入库商品不存在时 , 添加
     * @param stockBean
     */
    void addStockBean(StockBean stockBean);

    /**
     * 采购入库商品存在 , 修改数量
     * @param stockBean
     */
    void updateStockBean(StockBean stockBean);


    /**
     * 根据id查询库存商品
     * @param id
     * @return
     */
    StockBean queryStockBeanById(int id);


    /**
     * 销售时添加商品 , 查询使用,分页查询
     * @param curPage 当前也
     * @param pageSize  每页条数
     * @param goodsName 商品名称
     * @param goodsType 商品类型
     * @return
     */
    Page<StockBean> queryStockBeanByItem(int curPage,
                                         int pageSize,
                                         String goodsName,
                                         String goodsType);


    /**
     * 库存的分页查询展示
     * @param stockPageBean
     * @return
     */
    Page<StockBean> queryStockPageBean(StockPageBean<StockBean> stockPageBean);


    /**
     * 通过id修改价格
     * @param id
     * @param marketingPrice 建议销售价格
     */
    void updateStockPriceById(int id,double marketingPrice);

}
